package com.kinyx.framework.utils;

import org.junit.Assert;
import org.junit.Test;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public class KStringUtils_Tester_indexOf {

	@Test
	public void test() {
		Assert.assertTrue(-1 == KStringUtils.indexOf(null, null, 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf(null, "null", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf(null, "", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf(null, " ", 0));

		Assert.assertTrue(-1 == KStringUtils.indexOf("null", null, 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("null", "null", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("null", "", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("null", " ", 0));

		Assert.assertTrue(-1 == KStringUtils.indexOf("", null, 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("", "null", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("", "", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("", " ", 0));

		Assert.assertTrue(-1 == KStringUtils.indexOf(" ", null, 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf(" ", "null", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf(" ", "", 0));
		Assert.assertTrue(0 == KStringUtils.indexOf(" ", " ", 0));

		Assert.assertTrue(-1 == KStringUtils.indexOf("a a", null, 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("a a", "null", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("a a", "", 0));
		Assert.assertTrue(1 == KStringUtils.indexOf("a a", " ", 0));

		Assert.assertTrue(0 == KStringUtils.indexOf("aaa", "a", 0));
		Assert.assertTrue(1 == KStringUtils.indexOf("aaa", "a", 1));
		Assert.assertTrue(2 == KStringUtils.indexOf("aaa", "a", 2));

		Assert.assertTrue(0 == KStringUtils.indexOf("abc", "a", 0));
		Assert.assertTrue(-1 == KStringUtils.indexOf("abc", "a", 1));
		Assert.assertTrue(-1 == KStringUtils.indexOf("abc", "a", 2));

		Assert.assertTrue(0 == KStringUtils.indexOf("aba", "a", 0));
		Assert.assertTrue(2 == KStringUtils.indexOf("aba", "a", 1));
		Assert.assertTrue(-1 == KStringUtils.indexOf("aba", "a", 2));
	}

}
